home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / 3D QuickTime Dynamics / kSan Headers / kSanApplication.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-06-24  |  3.9 KB  |  137 lines

  1.  
  2. #ifndef __kSanApplication__
  3. #define __kSanApplication__
  4.  
  5.  
  6. #include "OHApplication.h"
  7. #include "kSanObject.h"
  8. #include "kSanApplicationPublic.h"
  9. #include "kSanCursor.h"
  10. #include "kSanPlugIn.h"
  11. #include "kSanSimulation.h"
  12. #include "kSanDialog.h"
  13. //#include "kSanAE.h"
  14. #include "randomGenerator.h"
  15.  
  16. typedef struct kSanApplicationType
  17. {
  18.      Handle paddingHandle; 
  19.     Handle emergencyHandle; 
  20.     
  21.     OHList colours;
  22.     OHList patterns;
  23.     long plugMenuRefCount;
  24.     AEDesc kSanAETE;
  25. }
  26. kSanApplication;     
  27.  #define kSanAppData(obj) ((kSanApplication *)kozoObjectGetPrivateData(obj, ClasskSanApplication))
  28.  
  29. short kSanAppConstructor (KozoDispatchStack *ds, constructorMethodArgs *cma);
  30. short kSanAppDestructor (KozoDispatchStack *ds, destructorMethodArgs* dma);
  31. short kSanAppGetData (KozoDispatchStack *ds, getMethodArgs *gma);
  32. short kSanAppSetData (KozoDispatchStack *ds, setMethodArgs *sma);
  33. short kSanAppDoMessage (KozoDispatchStack *ds, doMessageMethodArgs *dmma);
  34. void yieldToSimulationThreads(void);
  35. kSanSimulation **lockSimulations( void) ;
  36. void releaseSimulations(void) ;
  37. RGBColor **lockColours(void) ; 
  38. void releaseColours(void) ;
  39. Pattern **lockPatterns(void) ;
  40. void releasePatterns( void) ;
  41.  
  42. void AppMainEventLoop (void);
  43. void    handleMenuChoice    (long menuChoice);
  44.  
  45. void handleMouseDown(EventRecord *eventPtr);
  46. void doMainLoopEvent(EventRecord *eventPtr);
  47. kSanSimulation *    createSimulation (void);
  48.  
  49. // kSanAppMain
  50.  
  51. //void InitToolbox(void);
  52. //pascal void *userInterfaceThread(void *);
  53. void kSanYieldToThread(ThreadID thisThread);
  54. //long appProgressFunction(void);
  55. //void appHandleKeyDown(EventRecord *eventPtr, OHWindow *myWindow);
  56. //void handleOSEvent(EventRecord *EventPtr);
  57. int doGroupAppleEvent(void);
  58. //short TrapExists(short theTrap);
  59. //TrapType GetTrapType(short theTrap);
  60. //void IncreaseStackSize(Size extraBytes);
  61. //short NumToolboxTraps(void);
  62. //short isThereSpaceOnDisk(short rootRefNum);
  63.  
  64.  
  65. short    doNewDialog    (short * xPtr, short * yPtr, short * zPtr,
  66.             short * structureTypePtr, double * lcPtr);
  67.  
  68. //void findRezOffset(void);
  69. //short checkMemory (void);
  70. //short removeAllSimulations (void);
  71. //short removeSimulation (kSanSimulation *theSim);
  72.  
  73.  
  74. // app menus
  75. void     kSanMenuBarInit    (void);
  76.  
  77. void    handleAppleChoice    (short item);
  78. short    doCloseMenuChoice    (void);
  79. void    doOpenMenuChoice    (void);
  80. void    doNewMenuChoice    (void);
  81. void    handleFileChoice    (short item);
  82. void    handleParticleChoice    (short item);
  83. void    handleSimulationChoice    (short item);
  84. void    AGWinHandleMenuChoice    (short item);
  85. void    handleRollChoice    (short item);
  86. void    handlePushChoice    (short item);
  87. short enableMenuItem(short whichMenu, short whichItem, short enable);
  88. short kSanMenuInstall (void);
  89.  
  90. //void     DisableItems(void);
  91. //void     EnableItems(void);
  92.  
  93. void setPopupText(short whichType, MenuHandle theMenu);
  94. MenuHandle  makeMenuOfPlugInList(OHList *pList);
  95. MenuHandle  buildPopupMenu(short withNewType);
  96.  
  97. // app plugIns
  98. //void unloadPlugIn(long plugID);
  99. //kSanPlugIn *addPlugIn(long type);
  100. //void importPlugIn(FSSpec *thisSpec);
  101. //short functionCaller(long whichFunction, Ptr *functionData);
  102.  
  103. // app inits
  104. void disposePatterns(kSanApplication *kSanApp);
  105. void disposeColours(kSanApplication *kSanApp);
  106. void initPatterns(kSanApplication *kSanApp);
  107. void initColours(kSanApplication *kSanApp);
  108. void staticInits(void);
  109. void initAppFlags(void);
  110.  
  111. // atom types
  112.  
  113. short makeAtomtypeObjSpecifier(long whichType, AEDesc *partDesc);
  114. short makeAtomtypePropertyObjSpecifier(long whichType, AEDesc *partDesc, long propID);
  115. short atomicNumberOfAtomicSymbol(char *p);
  116. void removeLeadingSpaces(char *p, long maxCopy);
  117. float periodicTableValue(short aNum, long whatValue);
  118.  
  119. // alerts
  120. void doThreadedAlert(long stringResID);
  121. void doAlert(Str255 myString);
  122. void doFatal(Str255 myString);
  123. void doMemAlert(Str255 errString);
  124.  
  125.  
  126.  
  127. // handles
  128. typespecs *lockAtomTypes(void) ;
  129. void releaseAtomTypes(void) ;
  130.  
  131. long    countReturns    (Handle theHandle);
  132. void    doCopy    (void);
  133. short doAShortDialog    (kozoObject *obj, short rezID, long ptr);
  134.  
  135.  
  136. #endif
  137.